模型:
定义:
神经元的输出:
y^kj=f(βj−θj)⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅1
均方误差为:
Ek=12∑lj=1(y^kj−ykj)2.⋅⋅⋅⋅⋅⋅⋅⋅⋅2
隐层和输出层的激活函数为sigmoid函数,具有如下性质:
f(x)=11+e−x
f′(x)=[(1+e−x)−1]′=e−x(1+e−x)2=(1−f(x))⋅f(x)
更新公式:对任一参数v: v←v+Δv
BP算法求解策略:梯度下降法
( http://blog.csdn.net/loveitlovelife/article/details/78991472)
参数调整
1:对输入层到隐层的权值调整: Δvih=−η∂Ek∂vih
则:
∂Ek∂vih=∂Ek∂bh⋅∂bh∂αh∂αh∂vih⋅⋅⋅⋅⋅⋅⋅3
其中:
++ ∂αh∂vih=xi ;
++ ∂Ek∂bh=∑lj=1∂Ek∂βj∂βj∂bh=∑lj=1gj⋅whj ·····4
++由sigmoid函数有如下性质f’(x)=f(x)(1-f(x)),则: ∂bh∂αh=bh(1−bh)
得到:
Δvih=ηehxi
其中
eh=−∂Ek∂bh⋅∂bh∂αh=bh(1−bh)∑j=1lwhjgj⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅5
2:输出神经元的阈值调整 Δθj=−η∂Ek∂θj
其中:
∂Ek∂θj=∂Ek∂y^kj⋅∂y^kj∂θj=(y^kj−ykj)⋅y^kj⋅(1−y^kj)=gj
得到:
θj=−ηgj
3隐层神经元阈值调整: Δυh=−η∂Ek∂υh
其中:
∂Ek∂υh=∂Ek∂bh⋅∂bh∂υh=eh
(5shi
得到:
Δυh=−ηeh
4隐层到输出层权值调整
Δwhj
:
http://blog.csdn.net/loveitlovelife/article/details/79068210